home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / lib / ditroff / tmac.e < prev    next >
Encoding:
Text File  |  1989-05-25  |  12.9 KB  |  1,083 lines

  1. .nr _0 \n(.c
  2. .\" Copyright (c) 1988 The Regents of the University of California.
  3. .\" All rights reserved.
  4. .\"
  5. .\" Redistribution and use in source and binary forms are permitted
  6. .\" provided that the above copyright notice and this paragraph are
  7. .\" duplicated in all such forms and that any documentation,
  8. .\" advertising materials, and other materials related to such
  9. .\" distribution and use acknowledge that the software was developed
  10. .\" by the University of California, Berkeley.  The name of the
  11. .\" University may not be used to endorse or promote products derived
  12. .\" from this software without specific prior written permission.
  13. .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  14. .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  15. .\" WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  16. .\"
  17. .\"    %W% (Berkeley) %G%
  18. .\"
  19. .\" This version has had comments stripped; an unstripped version is available.
  20. .if !\n(.V .tm You are using the wrong version of NROFF/TROFF!!
  21. .if !\n(.V .tm This macro package works only on the version seven
  22. .if !\n(.V .tm release of NROFF and TROFF.
  23. .if !\n(.V .ex
  24. .if \n(pf \
  25. .    nx \*(||/null.me
  26. .de @C
  27. .nr _S \\n(.s
  28. .nr _V \\n(.v
  29. .nr _F \\n(.f
  30. .nr _I \\n(.i
  31. .ev \\$1
  32. .ps \\n(_S
  33. .vs \\n(_Vu
  34. .ft \\n(_F
  35. 'in \\n(_Iu
  36. .xl \\n($lu
  37. .lt \\n($lu
  38. .rr _S
  39. .rr _V
  40. .rr _F
  41. .rr _I
  42. .ls 1
  43. 'ce 0
  44. ..
  45. .de @D
  46. .ds |p "\\$3
  47. .nr _d \\$1
  48. .ie "\\$2"C" \
  49. .    nr _d 1
  50. .el .ie "\\$2"L" \
  51. .    nr _d 2
  52. .el .ie "\\$2"I" \
  53. .    nr _d 3
  54. .el .ie "\\$2"M" \
  55. .    nr _d 4
  56. .el \
  57. .    ds |p "\\$2
  58. ..
  59. .de @z
  60. .if !"\\n(.z"" \
  61. \{\
  62. .    tm Line \\n(c. -- Unclosed block, footnote, or other diversion (\\n(.z)
  63. .    di
  64. .    ex
  65. .\}
  66. .if \\n(?a \
  67. .    bp
  68. .rm bp
  69. .rm @b\"
  70. .if t \
  71. .    wh -1p @m
  72. .br
  73. ..
  74. .de @I
  75. .rm th
  76. .rm ac
  77. .rm lo
  78. .rm sc
  79. .rm @I
  80. ..
  81. .de he
  82. .ie !\\n(.$ \
  83. \{\
  84. .    rm |4
  85. .    rm |5
  86. .\}
  87. .el \
  88. \{\
  89. .    ds |4 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  90. .    ds |5 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  91. .\}
  92. ..
  93. .de eh
  94. .ie !\\n(.$ \
  95. .    rm |4
  96. .el \
  97. .    ds |4 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  98. ..
  99. .de oh
  100. .ie !\\n(.$ \
  101. .    rm |5
  102. .el \
  103. .    ds |5 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  104. ..
  105. .de fo
  106. .ie !\\n(.$ \
  107. \{\
  108. .    rm |6
  109. .    rm |7
  110. .\}
  111. .el \
  112. \{\
  113. .    ds |6 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  114. .    ds |7 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  115. .\}
  116. ..
  117. .de ef
  118. .ie !\\n(.$ \
  119. .    rm |6
  120. .el \
  121. .    ds |6 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  122. ..
  123. .de of
  124. .ie !\\n(.$ \
  125. .    rm |7
  126. .el \
  127. .    ds |7 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
  128. ..
  129. .de ep
  130. .if \\n(nl>0 \
  131. \{\
  132. .    wh 0
  133. .    rs
  134. .    @b
  135. .\}
  136. ..
  137. .de @h
  138. .if (\\n(.i+\\n(.o)>=\\n(.l \
  139. .    tm Line \\n(c. -- Offset + indent exceeds line length
  140. .if t .if (\\n(.l+\\n(.o)>7.75i \
  141. .    tm Line \\n(c. -- Offset + line length exceeds paper width
  142. .nr ?h \\n(?H
  143. .rr ?H
  144. .nr ?c \\n(?C
  145. .rr ?C
  146. .rn |4 |0
  147. .rn |5 |1
  148. .rn |6 |2
  149. .rn |7 |3
  150. .nr _w 0
  151. .nr ?W 0
  152. .nr ?I 1
  153. .ev 2
  154. .rs
  155. .if t .@m
  156. .if \\n(hm>0 \
  157. .    sp |\\n(hmu
  158. .@t $h
  159. .if \\n(tm<=0 \
  160. .    nr tm \n(.Vu
  161. .sp |\\n(tmu
  162. .ev
  163. .mk _k
  164. .if \\n(?n .nm 1
  165. .nr $c 1
  166. .ie \\n(?s \
  167. \{\
  168. .    rr ?s
  169. .    rs
  170. '    @b
  171. .\}
  172. .el \
  173. .    @n
  174. ..
  175. .if \nv=2 \
  176. \{\
  177. .    de @m
  178. .    @O 0
  179. .    lt 7.5i
  180. .    tl '\(rn''\(rn'
  181. .    @O
  182. .    lt
  183. ..
  184. .\}
  185. .de @n
  186. .if \\n(bm<=0 \
  187. .    nr bm \\n(.Vu
  188. .if (\\n(_w<=\\n($l)&(\\n(?W=0) \
  189. \{\
  190. .    nr _b (\\n(ppu*\\n($ru)/2u
  191. .    if \\n(_bu>((\\n(bmu-\\n(fmu-(\\n(tpu*\\n($ru))/2u) \
  192. .        nr _b (\\n(ppu*\\n($ru)-\n(.Vu
  193. .    nr _b +\\n(bmu
  194. .\}
  195. .nr _B \\n(_bu
  196. .ch @f
  197. .wh -\\n(_bu @f
  198. .nr _b +(\\n(ppu*\\n($ru)
  199. .nr ?f 0
  200. .if \\n(?o \
  201. \{\
  202. .    (f _
  203. .    nf
  204. .    |o
  205. .    fi
  206. .    )f
  207. .    rm |o
  208. .\}
  209. .nr ?o 0
  210. .if \\n(?T \
  211. \{\
  212. .    nr _i \\n(.i
  213. .    in \\n($iu
  214. .    |h
  215. .    in \\n(_iu
  216. .    rr _i
  217. .    mk #T
  218. .    ns
  219. .\}
  220. .if (\\n(?a)&((\\n($c<2):(\\n(?w=0)) \
  221. \{\
  222. .    nr ?a 0
  223. .    @k |t
  224. .    if \\n(?w \
  225. .        mk _k
  226. .    nr ?w 0
  227. .\}
  228. .os
  229. .$H
  230. .ns
  231. ..
  232. .de @f
  233. .ec
  234. .if \\n(?T \
  235. \{\
  236. .    nr T. 1
  237. .    T# 1
  238. .    br
  239. .\}
  240. .ev 2
  241. .ce 0
  242. .if \\n(?b \
  243. \{\
  244. .    nr ?b 0
  245. .    @k |b\"
  246. .\}
  247. .if \\n(?f \
  248. .    @o
  249. .ie \\n($c<\\n($m \
  250. .    @c
  251. .el \
  252. .    @e
  253. .ev
  254. ..
  255. .de @o
  256. .nf
  257. .ls 1
  258. .in 0
  259. .wh -\\n(_Bu @r
  260. .|f
  261. .fi
  262. .if \\n(?o \
  263. \{\
  264. .    di
  265. .    if \\n(dn=0 \
  266. \{\
  267. .        rm |o
  268. .        nr ?o 0
  269. .    \}
  270. .    nr dn \\n(_D
  271. .    rr _D
  272. .\}
  273. .rm |f
  274. .ch @r
  275. ..
  276. .de @c
  277. .rs
  278. .sp |\\n(_ku
  279. .@O +\\n($lu+\\n($su
  280. .nr $c +1
  281. .@n
  282. ..
  283. .de @e
  284. .@O \\n(_ou
  285. .rs
  286. .sp |\\n(.pu-\\n(fmu-(\\n(tpu*\\n($ru)
  287. .@t $f
  288. .nr ?h 0
  289. .bp
  290. ..
  291. .de @t
  292. .if !\\n(?h \
  293. \{\
  294. .    sz \\n(tp
  295. .    @F \\n(tf
  296. .    lt \\n(_Lu
  297. .    nf
  298. .    \\$1
  299. .    br
  300. .\}
  301. ..
  302. .de $h
  303. .rm |z
  304. .if !\\n(?c \
  305. \{\
  306. .    if e .ds |z "\\*(|0
  307. .    if o .ds |z "\\*(|1
  308. .\}
  309. .if !\(ts\\*(|z\(ts\(ts \
  310. '    tl \\*(|z
  311. .rm |z
  312. ..
  313. .de $f
  314. .rm |z
  315. .if \\n(?c \
  316. \{\
  317. .    if e .ds |z "\\*(|0
  318. .    if o .ds |z "\\*(|1
  319. .\}
  320. .if \(ts\\*(|z\(ts\(ts \
  321. \{\
  322. .    if e .ds |z "\\*(|2
  323. .    if o .ds |z "\\*(|3
  324. .\}
  325. .if !\(ts\\*(|z\(ts\(ts \
  326. '    tl \\*(|z
  327. .rm |z
  328. ..
  329. .de @r
  330. .di |o
  331. .nr ?o 1
  332. .nr _D \\n(dn
  333. .ns
  334. ..
  335. .rn bp @b
  336. .de bp
  337. .nr $c \\n($m
  338. .ie \\n(nl>0 \
  339. .    @b \\$1
  340. .el \
  341. \{\
  342. .    if \\n(.$>0 \
  343. .        pn \\$1
  344. .    if \\n(?I \
  345. .        @h
  346. .\}
  347. .br
  348. .wh 0 @h
  349. ..
  350. .rn ll xl
  351. .de ll
  352. .xl \\$1
  353. .lt \\$1
  354. .nr $l \\n(.l
  355. .if (\\n($m<=1):(\\n($l>\\n(_L) \
  356. .    nr _L \\n(.l
  357. ..
  358. .rn po @O
  359. .de po
  360. .@O \\$1
  361. .nr _o \\n(.o
  362. ..
  363. .de hx
  364. .nr ?H 1
  365. ..
  366. .de ix
  367. 'in \\$1
  368. ..
  369. .de bl
  370. .br
  371. .ne \\$1
  372. .rs
  373. .sp \\$1
  374. ..
  375. .de n1
  376. .nm 1
  377. .xl -\w'0000'u
  378. .nr ?n 1
  379. ..
  380. .de n2
  381. .nm \\$1
  382. .ie \\n(.$ \
  383. .    xl -\w'0000'u
  384. .el \
  385. .    xl \\n($lu
  386. ..
  387. .de pa
  388. .bp \\$1
  389. ..
  390. .de ro
  391. .af % i
  392. ..
  393. .de ar
  394. .af % 1
  395. ..
  396. .de m1
  397. .nr _0 \\n(hmu
  398. .nr hm \\$1v
  399. .nr tm +\\n(hmu-\\n(_0u
  400. .rr _0
  401. ..
  402. .de m2
  403. .nr tm \\n(hmu+\\n(tpp+\\$1v
  404. ..
  405. .de m3
  406. .nr bm \\n(fmu+\\n(tpp+\\$1v
  407. ..
  408. .de m4
  409. .nr _0 \\n(fmu
  410. .nr fm \\$1v
  411. .nr bm +\\n(fmu-\\n(_0u
  412. ..
  413. .de sk
  414. .if \\n(.$>0 \
  415. .    tm Line \\n(c. -- I cannot skip multiple pages
  416. .nr ?s 1
  417. ..
  418. .de re
  419. .ta 0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i
  420. ..
  421. .if t .ig
  422. .de re
  423. .ta 0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i
  424. ..
  425. .de ba
  426. .ie \\n(.$ \
  427. .    nr $i \\$1n
  428. .el \
  429. .    nr $i \\n(siu*\\n($0u
  430. ..
  431. .de hl
  432. .br
  433. \l'\\n(.lu-\\n(.iu'
  434. .sp
  435. ..
  436. .de pp
  437. .lp \\n(piu
  438. ..
  439. .de lp
  440. .@p
  441. .if \\n(.$ \
  442. .    ti +\\$1
  443. .nr $p 0 1
  444. ..
  445. .de ip
  446. .if (\\n(ii>0)&(\\n(ii<1n) \
  447. .    nr ii \\n(iin
  448. .nr _0 \\n(ii
  449. .if \\n(.$>1 \
  450. .    nr _0 \\$2n
  451. .@p \\n(_0u
  452. .if \\w"\\$1" \
  453. \{\
  454. .    ti -\\n(_0u
  455. .    ie \\w"\\$1">=\\n(_0 \
  456. \{\
  457. \&\\$1
  458. .        br
  459. .    \}
  460. .    el \&\\$1\h'|\\n(_0u'\c
  461. .\}
  462. .rr _0
  463. ..
  464. .de np
  465. .if \\n($p<0 \
  466. .    nr $p 0
  467. .nr $p +1
  468. .@p \w'\0(000)\0'u
  469. .ti -\w'\0(000)\0'u
  470. \0(\\n($p)\h'|\w'\0(000)\0'u'\c
  471. ..
  472. .de bu
  473. .br
  474. .if \\n($p<0 \
  475. .    ns
  476. .nr $p 0-1
  477. .@p \w'\0\(bu\0'u
  478. .ti -\w'\0\(bu\0'u
  479. \0\(bu\0\c
  480. ..
  481. .de @p
  482. .@I
  483. .if "\\n(.z"|e" .tm Line \\n(c. -- Unmatched continued equation
  484. .in \\n($iu+\\n(pou
  485. .if \\n(.$ \
  486. .    in +\\$1n
  487. .ce 0
  488. .fi
  489. .@F \\n(pf
  490. .sz \\n(pp
  491. .sp \\n(psu
  492. .ne \\n(.Lv+\\n(.Vu
  493. .ns
  494. ..
  495. .de sh
  496. .rn sh @T
  497. .so \\*(||/sh.me
  498. .sh "\\$1" "\\$2" \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
  499. .rm @T
  500. ..
  501. .de $p
  502. .if (\\n(si>0)&(\\n(.$>2) \
  503. .    nr $i \\$3*\\n(si
  504. .in \\n($iu
  505. .ie !"\\$1\\$2"" \
  506. \{\
  507. .    sp \\n(ssu
  508. .    ne \\n(.Lv+\\n(.Vu+\\n(psu+(\\n(spu*\\n($ru*\\n(.Lu)
  509. .    ie \\n(.$>2 \
  510. .        ti -(\\n(siu-\\n(sou)
  511. .    el \
  512. .        ti +\\n(sou
  513. .    @F \\n(sf
  514. .    sz \\n(sp
  515. .    if \\$3>0 \
  516. .        $\\$3
  517. .    if \w"\\$2">0 \\$2.
  518. .    if \w"\\$1">0 \\$1\f1\ \ \&
  519. .\}
  520. .el \
  521. .    sp \\n(psu
  522. .@F \\n(pf
  523. .sz \\n(pp
  524. ..
  525. .de uh
  526. .rn uh @T
  527. .so \\*(||/sh.me
  528. .uh "\\$1"
  529. .rm @T
  530. ..
  531. .de 2c
  532. .br
  533. .if \\n($m>1 \
  534. .    1c
  535. .nr $c 1
  536. .nr $m 2
  537. .if \\n(.$>1 \
  538. .    nr $m \\$2
  539. .if \\n(.$>0 \
  540. .    nr $s \\$1n
  541. .nr $l (\\n(.l-((\\n($m-1)*\\n($s))/\\n($m
  542. .xl \\n($lu
  543. .mk _k
  544. .ns
  545. ..
  546. .de 1c
  547. .br
  548. .nr $c 1
  549. .nr $m 1
  550. .ll \\n(_Lu
  551. .sp |\\n(.hu
  552. .@O \\n(_ou
  553. ..
  554. .de bc
  555. .sp 24i
  556. ..
  557. .de (z
  558. .rn (z @V
  559. .so \\*(||/float.me
  560. .(z \\$1 \\$2
  561. .rm @V
  562. ..
  563. .de )z
  564. .tm Line \\n(c. -- unmatched .)z
  565. ..
  566. .de (t
  567. .(z \\$1 \\$2
  568. ..
  569. .de )t
  570. .)z \\$1 \\$2
  571. ..
  572. .de (b
  573. .br
  574. .@D 3 \\$1 \\$2
  575. .sp \\n(bsu
  576. .@(
  577. ..
  578. .de )b
  579. .br
  580. .@)
  581. .if (\\n(bt=0):(\\n(.t<\\n(bt) \
  582. .    ne \\n(dnu
  583. .ls 1
  584. .nf
  585. .|k
  586. .ec
  587. .fi
  588. .in 0
  589. .xl \\n($lu
  590. .ev
  591. .rm |k
  592. .sp \\n(bsu+\\n(.Lv-1v
  593. ..
  594. .de @(
  595. .if !"\\n(.z"" .tm Line \\n(c. -- Illegal nested keep \\n(.z
  596. .@M
  597. .di |k
  598. \!'rs
  599. ..
  600. .de @M
  601. .nr ?k 1
  602. .@C 1
  603. .@F \\n(df
  604. .vs \\n(.su*\\n($Ru
  605. .nf
  606. .if "\\*(|p"F" \
  607. .    fi
  608. .if \\n(_d=4 \
  609. .    in 0
  610. .if \\n(_d=3 \
  611. \{\
  612. .    in +\\n(biu
  613. .    xl -\\n(biu
  614. .\}
  615. .if \\n(_d=1 \
  616. .    ce 10000
  617. ..
  618. .de @)
  619. .br
  620. .if !"\\n(.z"|k" .tm Line \\n(c. -- Close of a keep which has never been opened
  621. .nr ?k 0
  622. .di
  623. .in 0
  624. .ce 0
  625. ..
  626. .de (c
  627. .if "\\n(.z"|c" .tm Line \\n(c. -- Nested .(c requests
  628. .di |c
  629. ..
  630. .de )c
  631. .if !"\\n(.z"|c" .tm Line \\n(c. -- Unmatched .)c
  632. .br
  633. .di
  634. .ev 1
  635. .ls 1
  636. .in (\\n(.lu-\\n(.iu-\\n(dlu)/2u
  637. .nf
  638. .|c
  639. .ec
  640. .in
  641. .ls
  642. .ev
  643. .rm |c
  644. ..
  645. .de (q
  646. .br
  647. .@C 1
  648. .fi
  649. .sp \\n(qsu
  650. .in +\\n(qiu
  651. .xl -\\n(qiu
  652. .sz \\n(qp
  653. ..
  654. .de )q
  655. .br
  656. .ev
  657. .sp \\n(qsu+\\n(.Lv-1v
  658. .nr ?k 0
  659. ..
  660. .de (l
  661. .br
  662. .sp \\n(bsu
  663. .@D 3 \\$1 \\$2
  664. .@M
  665. ..
  666. .de )l
  667. .br
  668. .ev
  669. .sp \\n(bsu+\\n(.Lv-1v
  670. .nr ?k 0
  671. ..
  672. .de EQ
  673. .rn EQ @T
  674. .so \\*(||/eqn.me
  675. .EQ \\$1 \\$2
  676. .rm @T
  677. ..
  678. .de TS
  679. .rn TS @W
  680. .so \\*(||/tbl.me
  681. .TS \\$1 \\$2
  682. .rm @W
  683. ..
  684. .de ]-
  685. .rn ]- @]
  686. .so \\*(||/refer.me
  687. .]-
  688. .rm @]
  689. ..
  690. .de ]<
  691. .rn ]< @]
  692. .so \\*(||/refer.me
  693. .]<
  694. .rm @]
  695. ..
  696. .if n .ds [. " [
  697. .if t .ds [. \s-2\v'-.4m'\f1
  698. .if n .ds .] ]
  699. .if t .ds .] \v'.4m'\s+2\fP
  700. .if n .ds <. "
  701. .if t .ds <. .
  702. .if n .ds >. .
  703. .if t .ds >. "
  704. .de IS
  705. .nr g7 \\n(.u
  706. .ls 1
  707. ..
  708. .de IF
  709. .if \\n(g7 .fi
  710. .ls
  711. ..
  712. .de IE
  713. .if \\n(g7 .fi
  714. .ls
  715. ..
  716. .de PS
  717. .if t \
  718. .    sp 0.3
  719. .nr g7 \\$2
  720. .in (\\n(.lu-\\n(g7u)/2u
  721. .ne \\$1u
  722. .nr g7 \\n(.u
  723. .ls 1
  724. ..
  725. .de PE
  726. .ls
  727. .in
  728. .if \\n(g7 .fi
  729. .if t .sp .6
  730. ..
  731. .de GS
  732. .nr g7 (\\n(.lu-\\n(g1u)/2u
  733. .if "\\$1"L" .nr g7 \\n(.iu
  734. .if "\\$1"R" .nr g7 \\n(.lu-\\n(g1u
  735. .in \\n(g7u
  736. .nr g7 \\n(.u
  737. .ls 1
  738. .nf
  739. .ne \\n(g2u
  740. ..
  741. .de GE
  742. .GF
  743. .if t .sp .6
  744. ..
  745. .de GF
  746. .ls
  747. .in
  748. .if \\n(g7 .fi
  749. ..
  750. .de sz
  751. .ps \\$1
  752. .vs \\n(.su*\\n($ru
  753. .bd S B \\n(.su/3u
  754. ..
  755. .de r
  756. .nr _F \\n(.f
  757. .ul 0
  758. .ft 1
  759. .if \\n(.$ \&\\$1\f\\n(_F\\$2
  760. .rr _F
  761. ..
  762. .de i
  763. .nr _F \\n(.f
  764. .ul 0
  765. .ft 2
  766. .if \\n(.$ \&\\$1\f\\n(_F\\$2
  767. .rr _F
  768. ..
  769. .de b
  770. .nr _F \\n(.f
  771. .ul 0
  772. .ft \\n($b
  773. .if \\n(.$ \&\\$1\f\\n(_F\\$2
  774. .rr _F
  775. ..
  776. .de rb
  777. .nr _F \\n(.f
  778. .ul 0
  779. .ft 3
  780. .if \\n(.$ \&\\$1\f\\n(_F\\$2
  781. .rr _F
  782. ..
  783. .de u
  784. \&\\$1\l'|0\(ul'\\$2
  785. ..
  786. .de q
  787. \&\\*(lq\\$1\\*(rq\\$2
  788. ..
  789. .de bi
  790. .ft 2
  791. .ie t \&\k~\\$1\h'|\\n~u+(\\w' 'u/4u)'\\$1\fP\\$2
  792. .el \&\\$1\fP\\$2
  793. ..
  794. .de bx
  795. .ie \\n($T \&\f2\\$1\fP\\$2
  796. .el \k~\(br\|\\$1\|\(br\l'|\\n~u\(rn'\l'|\\n~u\(ul'\^\\$2
  797. ..
  798. .de sm
  799. \s-1\\$1\\s0\\$2
  800. ..
  801. .de @F
  802. .nr ~ \\$1
  803. .if \\n~>0 \
  804. \{\
  805. .    ul 0
  806. .    if \\n~=8 \
  807. .        nr ~ \\n($b
  808. .    ft \\n~
  809. .\}
  810. .rr ~
  811. ..
  812. .de (f
  813. .rn (f @U
  814. .so \\*(||/footnote.me
  815. .(f \\$1 \\$2
  816. .rm @U
  817. ..
  818. .de )f
  819. .tm Line \\n(c. -- unmatched .)f
  820. ..
  821. .de $s
  822. \l'2i'
  823. .if n \
  824. .    sp 0.3
  825. ..
  826. .de (d
  827. .rn (d @U
  828. .so \\*(||/deltext.me
  829. .(d \\$1 \\$2
  830. .rm @U
  831. ..
  832. .de )d
  833. .tm Line \\n(c. -- unmatched .)d
  834. ..
  835. .de (x
  836. .rn (x @U
  837. .so \\*(||/index.me
  838. .(x \\$1 \\$2
  839. .rm @U
  840. ..
  841. .de )x
  842. .tm Line \\n(c. -- unmatched .)x
  843. ..
  844. .de th
  845. .so \\*(||/thesis.me
  846. .rm th
  847. ..
  848. .de +c
  849. .ep
  850. .if \\n(?o:\\n(?a \
  851. \{\
  852. .    bp
  853. .    rs
  854. .    ep
  855. .\}
  856. .nr ?C 1
  857. .nr $f 1 1
  858. .ds * \\*[1\\*]\k*
  859. .if \\n(?R \
  860. .    pn 1
  861. .bp
  862. .in \\n($iu
  863. .rs
  864. .ie \\n(.$ \
  865. .    $c "\\$1"
  866. .el \
  867. .    sp 3
  868. ..
  869. .de ++
  870. .nr _0 0
  871. .if "\\$1"C" \
  872. .    nr _0 1
  873. .if "\\$1"RC" \
  874. .    nr _0 11
  875. .if "\\$1"A" \
  876. .    nr _0 2
  877. .if "\\$1"RA" \
  878. .    nr _0 12
  879. .if "\\$1"P" \
  880. .    nr _0 3
  881. .if "\\$1"B" \
  882. .    nr _0 4
  883. .if "\\$1"AB" \
  884. .    nr _0 5
  885. .if \\n(_0=0 \
  886. .    tm Line \\n(c. -- Bad mode to .++
  887. .nr ?R 0
  888. .if \\n(_0>10 \
  889. .\{
  890. .    nr ?R 1
  891. .    nr _0 -10
  892. .\}
  893. .nr ch 0 1
  894. .if (\\n(_0=3):(\\n(_0=5) \
  895. .    pn 1
  896. .ep
  897. .if \\n(_0=1 \
  898. \{\
  899. .    af ch 1
  900. .    af % 1
  901. .\}
  902. .if \\n(_0=2 \
  903. \{\
  904. .    af ch A
  905. .    af % 1
  906. .\}
  907. .if \\n(_0=3 \
  908. .    af % i
  909. .if \\n(_0=4 \
  910. .    af % 1
  911. .if \\n(_0=5 \
  912. .    af % 1
  913. .if \\n(.$>1 \
  914. .    he \\$2
  915. .if !\\n(_0=\\n(_M .if \\n(_M=3 \
  916. .    pn 1
  917. .nr _M \\n(_0
  918. .rr _0
  919. ..
  920. .de $c
  921. .sz 12
  922. .ft B
  923. .ce 1000
  924. .if \\n(_M<3 \
  925. .    nr ch +1
  926. .ie \\n(_M=1 CHAPTER\ \ \\n(ch
  927. .el .if \\n(_M=2 APPENDIX\ \ \\n(ch
  928. .if \w"\\$1" .sp 3-\\n(.L
  929. .if \w"\\$1" \\$1
  930. .if (\\n(_M<3):(\w"\\$1") \
  931. .    sp 4-\\n(.L
  932. .ce 0
  933. .ft
  934. .sz
  935. .ie \\n(_M=1 \
  936. .    $C Chapter \\n(ch "\\$1"
  937. .el .if \\n(_M=2 \
  938. .    $C Appendix \\n(ch "\\$1"
  939. ..
  940. .de tp
  941. .hx
  942. .bp
  943. .br
  944. .rs
  945. .pn \\n%
  946. ..
  947. .de ac
  948. .rn ac @T
  949. .so \\*(||/acm.me
  950. .ac "\\$1" "\\$2"
  951. .rm @T
  952. ..
  953. .de lo
  954. .so \\*(||/local.me
  955. .rm lo
  956. ..
  957. .de lh
  958. .so \\*(||/letterhead.me
  959. ..
  960. .if \n(mo=1 .ds mo January
  961. .if \n(mo=2 .ds mo February
  962. .if \n(mo=3 .ds mo March
  963. .if \n(mo=4 .ds mo April
  964. .if \n(mo=5 .ds mo May
  965. .if \n(mo=6 .ds mo June
  966. .if \n(mo=7 .ds mo July
  967. .if \n(mo=8 .ds mo August
  968. .if \n(mo=9 .ds mo September
  969. .if \n(mo=10 .ds mo October
  970. .if \n(mo=11 .ds mo November
  971. .if \n(mo=12 .ds mo December
  972. .if \n(dw=1 .ds dw Sunday
  973. .if \n(dw=2 .ds dw Monday
  974. .if \n(dw=3 .ds dw Tuesday
  975. .if \n(dw=4 .ds dw Wednesday
  976. .if \n(dw=5 .ds dw Thursday
  977. .if \n(dw=6 .ds dw Friday
  978. .if \n(dw=7 .ds dw Saturday
  979. .ds td \*(mo \n(dy, 19\n(yr
  980. .if (1m<0.1i)&(\nx!=0) \
  981. .    vs 9p
  982. .rr x
  983. .nr $r \n(.v/\n(.s
  984. .nr $R \n($r
  985. .nr hm 4v
  986. .nr tm 7v
  987. .nr bm 6v
  988. .nr fm 3v
  989. .nr tf 3
  990. .nr tp 10
  991. .hy 14
  992. .nr bi 4m
  993. .nr pi 5n
  994. .nr pf 1
  995. .nr pp 10
  996. .nr qi 4n
  997. .nr qp -1
  998. .nr ii 5n
  999. .nr $m 1
  1000. .nr $s 4n
  1001. .ds || /usr/lib/me
  1002. .bd S B 3
  1003. .ds [ \u\x'-0.25v'
  1004. .ds ] \d
  1005. .ds < \d\x'0.25v'
  1006. .ds > \u
  1007. .ds - --
  1008. .if t \
  1009. \{\
  1010. .    ds [ \v'-0.4m'\x'-0.2m'\s-3
  1011. .    ds ] \s0\v'0.4m'
  1012. .    ds < \v'0.4m'\x'0.2m'\s-3
  1013. .    ds > \s0\v'-0.4m'
  1014. .    ds - \(em
  1015. .    nr fi 0.3i
  1016. .\}
  1017. .if n \
  1018. \{\
  1019. .    nr fi 3n
  1020. .\}
  1021. .nr _o \n(.o
  1022. .if n .po 1i
  1023. .if \n(.V=1v \
  1024. .    nr $T 2
  1025. .if n .if \n(.T=0 \
  1026. .    nr $T 1
  1027. .if \nv=2 \
  1028. \{\
  1029. .    nr $T 0
  1030. .    po -0.5i
  1031. .\}
  1032. .if \n($T \
  1033. \{\
  1034. .    if \n($T=1 \
  1035. .        po 0
  1036. .    ds [ [
  1037. .    ds ] ]
  1038. .    ds < <
  1039. .    ds > >
  1040. .\}
  1041. .nr $b \nb
  1042. .rr b
  1043. .if \n($b=0 \
  1044. \{\
  1045. .    if n .nr $b 2
  1046. .    if t .nr $b 3
  1047. .\}
  1048. .nr ps 0.5v
  1049. .if \n($T \
  1050. .    nr ps 1v
  1051. .if t .nr ps 0.35v
  1052. .nr bs \n(ps
  1053. .nr qs \n(ps
  1054. .nr zs 1v
  1055. .nr xs 0.2v
  1056. .nr fs 0.2v
  1057. .if \n($T \
  1058. .    nr fs 0
  1059. .if n .nr es 1v
  1060. .if t .nr es 0.5v
  1061. .wh 0 @h
  1062. .nr $l \n(.lu
  1063. .nr _L \n(.lu
  1064. .nr $c 1
  1065. .nr $f 1 1
  1066. .ds * \*[1\*]\k*\"
  1067. .nr $d 1 1
  1068. .ds # [1]\k#\"
  1069. .nr _M 1
  1070. .ds lq \&"\"
  1071. .ds rq \&"\"
  1072. .if t \
  1073. .    ds lq ``
  1074. .if t \
  1075. .    ds rq ''
  1076. .em @z
  1077. .de sc
  1078. .so \\*(||/chars.me
  1079. .rm sc
  1080. ..
  1081. .ll 6.0i
  1082. .lt 6.0i
  1083.